package com.ctg.itrdc.sysmgr.portal.data.entity;

import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

import com.ctg.itrdc.pasp.core.Entity;


@Table(name = "PRIV_FUNC_REL")
public class PrivFuncRel extends Entity<Long> {
	private static final long serialVersionUID = -2811347047325737314L;


	/**
	 * 权限功能关联标识,主键
	 */
	@Id
	@Column(name = "PRIV_FUNC_REL_ID")
	private Long privFuncRelId;

	/**
	 * 权限标识，外键
	 */
	@Column(name = "PRIV_ID")
	private Long privId;

	/**
	 * 创建人
	 */
	@Column(name = "CREATE_STAFF")
	private Long createStaff;

	/**
	 * 修改时间
	 */
	@Column(name = "UPDATE_DATE")
	private Timestamp updateDate;

	/**
	 * 生效时间
	 */
	@Column(name = "EFF_DATE")
	private Timestamp effDate;

	/**
	 * 状态时间
	 */
	@Column(name = "STATUS_DATE")
	private Timestamp statusDate;

	/**
	 * 租户标识。
	 */
	@Column(name = "TENANT_ID")
	private Long tenantId;

	/**
	 * 根据权限对象类型，如果为"业务对象",则填写业务对象ID;
	 */
	@Column(name = "PRIV_REF_ID")
	private Long privRefId;

	/**
	 * 分片键1，固定值-1。
	 */
	@Column(name = "SHARD1")
	private Long shard1;

	/**
	 * 修改人
	 */
	@Column(name = "UPDATE_STAFF")
	private Long updateStaff;

	/**
	 * 失效时间
	 */
	@Column(name = "EXP_DATE")
	private Timestamp expDate;

	/**
	 * 分片键2，固定值-1。
	 */
	@Column(name = "SHARD2")
	private Long shard2;

	/**
	 * 权限对象类型，LOVB；
	 */
	@Column(name = "PRIV_REF_TYPE")
	private String privRefType;

	/**
	 * 权限的归属系统
	 */
	@Column(name = "SYS_CODE")
	private String sysCode;

	/**
	 * 状态
	 */
	@Column(name = "STATUS_CD")
	private String statusCd;

	/**
	 * 创建时间
	 */
	@Column(name = "CREATE_DATE")
	private Timestamp createDate;


	public void setPrivFuncRelId(Long privFuncRelId){
		this.privFuncRelId = privFuncRelId;
	}

	public Long getPrivFuncRelId(){
		return this.privFuncRelId;
	}

	public void setPrivId(Long privId){
		this.privId = privId;
	}

	public Long getPrivId(){
		return this.privId;
	}

	public void setCreateStaff(Long createStaff){
		this.createStaff = createStaff;
	}

	public Long getCreateStaff(){
		return this.createStaff;
	}

	public void setUpdateDate(Timestamp updateDate){
		this.updateDate = updateDate;
	}

	public Timestamp getUpdateDate(){
		return this.updateDate;
	}

	public void setEffDate(Timestamp effDate){
		this.effDate = effDate;
	}

	public Timestamp getEffDate(){
		return this.effDate;
	}

	public void setStatusDate(Timestamp statusDate){
		this.statusDate = statusDate;
	}

	public Timestamp getStatusDate(){
		return this.statusDate;
	}

	public void setTenantId(Long tenantId){
		this.tenantId = tenantId;
	}

	public Long getTenantId(){
		return this.tenantId;
	}

	public void setPrivRefId(Long privRefId){
		this.privRefId = privRefId;
	}

	public Long getPrivRefId(){
		return this.privRefId;
	}

	public void setShard1(Long shard1){
		this.shard1 = shard1;
	}

	public Long getShard1(){
		return this.shard1;
	}

	public void setUpdateStaff(Long updateStaff){
		this.updateStaff = updateStaff;
	}

	public Long getUpdateStaff(){
		return this.updateStaff;
	}

	public void setExpDate(Timestamp expDate){
		this.expDate = expDate;
	}

	public Timestamp getExpDate(){
		return this.expDate;
	}

	public void setShard2(Long shard2){
		this.shard2 = shard2;
	}

	public Long getShard2(){
		return this.shard2;
	}

	public void setPrivRefType(String privRefType){
		this.privRefType = privRefType;
	}

	public String getPrivRefType(){
		return this.privRefType;
	}

	public void setSysCode(String sysCode){
		this.sysCode = sysCode;
	}

	public String getSysCode(){
		return this.sysCode;
	}

	public void setStatusCd(String statusCd){
		this.statusCd = statusCd;
	}

	public String getStatusCd(){
		return this.statusCd;
	}

	public void setCreateDate(Timestamp createDate){
		this.createDate = createDate;
	}

	public Timestamp getCreateDate(){
		return this.createDate;
	}

	@Override
	public Long getId() {
		return privFuncRelId;
	}
	
	@Override
	public void setId(Long id) {
		this.privFuncRelId = id;
	}
	
	public PrivFuncRel() {
		super();
    }
}
